home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / graphics / 3dvect37.zip / 3D.EXT < prev    next >
Text File  |  1994-06-22  |  8KB  |  273 lines

  1. ;░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  2. ;
  3. ; Filename     : 3d.ext
  4. ; Included from: Any program which requires data from 3D1.ASM, 3D2.ASM, 3D3.ASM
  5. ; Description  : Externals for 3D1.ASM, 3D2.ASM, 3D3.ASM
  6. ;
  7. ; Written by: John McCarthy
  8. ;             1316 Redwood Lane
  9. ;             Pickering, Ontario.
  10. ;             Canada, Earth, Milky Way (for those out-of-towners)
  11. ;             L1X 1C5
  12. ;
  13. ; Internet/Usenet:  BRIAN.MCCARTHY@CANREM.COM
  14. ;         Fidonet:  Brian McCarthy 1:229/15
  15. ;   RIME/Relaynet: ->CRS
  16. ;
  17. ; Home phone, (905) 831-1944, don't call at 2 am eh!
  18. ;
  19. ; Send me your protected mode source code!
  20. ; Send me your Objects!
  21. ; But most of all, Send me a postcard!!!!
  22. ;
  23. ;░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  24.  
  25. ; data definition offsets: shape data, bitmap data, bitmap scaling, xref palette
  26.  
  27.         extrn objbase:dword, bitbase:dword, bitx:dword, bity:dword
  28.         extrn xreftable:dword, stonetbl:dword
  29.  
  30. ; these are tables of values for defining object locations
  31. ; sizes of tables = maxobjects
  32.  
  33.         extrn xs:dword,    ys:dword,    zs:dword
  34.         extrn xadds:dword, yadds:dword, zadds:dword
  35.         extrn vxs:word,    vys:word,    vzs:word
  36.         extrn vxadds:word, vyadds:word, vzadds:word
  37.         extrn lcount:word, acount:word
  38.         extrn xsfinal:dword,    ysfinal:dword,    zsfinal:dword
  39.         extrn vxsfinal:word,    vysfinal:word,    vzsfinal:word
  40.         extrn whatshape:word,   userotate:byte,   onoff:byte
  41.         extrn palxref:byte
  42.  
  43. ; these are single values for defining the camera location
  44.  
  45.         extrn eyex:dword,     eyey:dword,     eyez:dword
  46.         extrn eyeax:word,     eyeay:word,     eyeaz:word
  47.         extrn eyexadds:dword, eyeyadds:dword, eyezadds:dword
  48.         extrn eyevxadds:word, eyevyadds:word, eyevzadds:word
  49.         extrn eyelcount:word, eyeacount:word
  50.  
  51. ; misc data
  52.  
  53.         extrn background:word
  54.  
  55.         extrn vmatrix:dword
  56.         extrn tmatrix:dword
  57.         extrn ematrix:dword
  58.         extrn lmatrix:dword
  59.         extrn y_angle_of_sun:dword
  60.  
  61.         extrn use_clear:word
  62.         extrn wfollow:word
  63.         extrn wherelook:word
  64.  
  65. ; for scale routine
  66.  
  67.         extrn bitmap:dword
  68.         extrn destwidth:word
  69.         extrn destheight:word
  70.         extrn destx:word
  71.         extrn desty:word
  72.  
  73. ; for fakeline routine
  74.  
  75.         extrn x1:word
  76.         extrn y1:word
  77.         extrn x2:word
  78.         extrn y2:word
  79.  
  80. ; for calling poly_fill (after calling fakeline)
  81.  
  82.         extrn colq:byte
  83.         extrn steel:byte
  84.  
  85. ; for windowing
  86.  
  87.         extrn lxupdate:word
  88.         extrn lyupdate:word
  89.         extrn xupdate:word
  90.         extrn yupdate:word
  91.         extrn makeorder:word
  92.         extrn oney:word
  93.         extrn firstbyte:word
  94.         extrn lastbyte:word
  95.         extrn showing:word
  96.         extrn _old_traces_past:dword
  97.  
  98. ; misc routines from 3d.asm and poly.inc
  99.  
  100.         extrn flip_page:near
  101.         extrn initpages:near
  102.         extrn flip_page:near
  103.         extrn fakeline:near
  104.         extrn fakelineg:near
  105.         extrn poly_fill:near
  106.         extrn clear_fill:near
  107.         extrn move_si:near
  108.         extrn twist_si:near
  109.         extrn twist_xonly:near
  110.         extrn twist_yonly:near
  111.         extrn twist_zonly:near
  112.         extrn stop_staring:near
  113.         extrn newfollow:near
  114.         extrn updvectors:near
  115.         extrn _update_windowing_camera:near
  116.         extrn makeobjs:near
  117.         extrn make1obj:near
  118.         extrn setsincose:near
  119.         extrn look_at_it:near
  120.         extrn calc_angles:near
  121.         extrn calc_middle:near
  122.         extrn get_displacement:near
  123.         extrn put_object:near
  124.         extrn set_angle:near
  125.         extrn set_shape:near
  126.         extrn set_object_on:near
  127.         extrn set_object_off:near
  128.         extrn set_sub_object_on:near
  129.         extrn set_sub_object_off:near
  130.         extrn use_full_rotations:near
  131.         extrn use_no_rotations:near
  132.         extrn set_to_hibitmap:near
  133.         extrn set_to_lobitmap:near
  134.         extrn set_bitmap_scaling:near
  135.         extrn set_hugeobject:near
  136.         extrn search_next_available_object:near
  137.         extrn init_object:near
  138.         extrn init_tables:near
  139.         extrn flush_surfaces:near
  140.         extrn clipped_line:near
  141.         extrn set_clip_absolute:near
  142.         extrn set_clip_offset:near
  143.         extrn drawvect:near
  144.         extrn sort_list:near
  145.         extrn set_finall:near
  146.         extrn set_finala:near
  147.         extrn point_it:near
  148.         extrn point_dir:near
  149.         extrn point_dir_time:near
  150.         extrn point_to:near
  151.         extrn set_speed:near
  152.         extrn point_time:near
  153.         extrn time_to_point:near
  154.         extrn nullpalette:dword
  155.         extrn set_xref_palette:near
  156.         extrn fix_xangle:near
  157.         extrn fix_xangleq:near
  158.  
  159. ; poly.inc - fast imul table, eg: screen_width*si = fastimultable[si]
  160.  
  161.         extrn fastimultable:dword
  162.  
  163. ; xscale1.inc
  164.  
  165.         extrn xscale1:near
  166.         extrn xscale2:near
  167.         extrn xscale4:near
  168.         extrn draw_scale:near
  169.         extrn tdraw_scale:near
  170.         extrn tdraw_scale4:near
  171.         extrn repeat_bitmap:near
  172.  
  173. ; math.inc
  174.  
  175.         extrn make3d:near
  176.         extrn erotate:near
  177.         extrn rotate:near
  178.         extrn arctan:near
  179.         extrn cosign:near
  180.         extrn sign:near
  181.         extrn setsincose:near
  182.         extrn compound:near
  183.         extrn sqrt:near
  184.         extrn sqrax2bx2:near
  185.         extrn set_precal7:near
  186.         extrn set_precal147:near
  187.         extrn frotate:near
  188.         extrn fzsolve:near
  189.         extrn temp_matrix:near
  190.         extrn temp_rotate:near
  191.         extrn matrix_multiply:near
  192.  
  193.         extrn precal1:dword
  194.         extrn precal4:dword
  195.         extrn precal7:dword
  196.  
  197.         extrn cliplt:word
  198.         extrn cliprt:word
  199.         extrn cliptp:word
  200.         extrn clipbt:word
  201.         extrn xcent:word
  202.         extrn ycent:word
  203.         extrn xmins:word
  204.         extrn xmins1:word
  205.         extrn xmaxs:word
  206.         extrn xmaxs1:word
  207.         extrn ymins:word
  208.         extrn ymins1:word
  209.         extrn ymaxs:word
  210.         extrn ymaxs1:word
  211.  
  212.         extrn lambert:near
  213.         extrn pre_cal_lambert:near
  214.         extrn calc_normal:near
  215.         extrn calc_d:near
  216.         extrn set_up_all_lambert:near
  217.         extrn lrotate:near
  218.  
  219.         extrn lx1:dword
  220.         extrn ly1:dword
  221.         extrn lz1:dword
  222.         extrn lx2:dword
  223.         extrn ly2:dword
  224.         extrn lz2:dword
  225.         extrn lx3:dword
  226.         extrn ly3:dword
  227.         extrn lz3:dword
  228.  
  229. ; list of current assembley restraints - can be used to test if object file
  230. ; was assembled with ample room/size of tables.
  231.  
  232.         extrn asm_version:word
  233.         extrn asm_maxpoints:word
  234.         extrn asm_maxsurfaces:word
  235.         extrn asm_maxpolys:word
  236.         extrn asm_maxobjects:word
  237.         extrn asm_number_spaces:word
  238.         extrn asm_xsize:word
  239.         extrn asm_ysize:word
  240.         extrn asm_usez:word
  241.         extrn asm_useborders:word
  242.         extrn asm_use_half_stars:word
  243.         extrn asm_cameraobject:word
  244.         extrn asm_xmode:word
  245.         extrn asm_ratiox:word
  246.         extrn asm_ratioy:word
  247.         extrn asm_xactual:word
  248.         extrn asm_yactual:word
  249.         extrn asm_pages:word
  250.         extrn asm_shapes
  251.         extrn asm_bitmaps
  252.         extrn asm_xpals
  253.  
  254. ; more.inc
  255.  
  256.         extrn _slidebytes:near
  257.         extrn _slidewords:near
  258.         extrn _fade_all:near
  259.         extrn _wait_for_fade:near
  260.         extrn _fade_palette:near
  261.         extrn _fade_palette_read:near
  262.         extrn _get_palette:near
  263.         extrn _put_palette:near
  264.  
  265.         extrn _palette1:byte
  266.         extrn _palette2:byte
  267.         extrn _sourcepal:dword
  268.         extrn _destpal:dword
  269.         extrn _fadestep:dword
  270.         extrn _fadestatus:byte
  271.         extrn _default_palette:byte
  272.  
  273.